package cn.tworice.system.dao.role;

import cn.tworice.mybatis.mapper.BaseMapperX;
import cn.tworice.system.dao.role.po.RoleDO;
import cn.tworice.system.dao.user.po.UserDO;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 角色持久层
 */
@Repository
public interface RoleDao extends BaseMapperX<RoleDO> {


    @Select("SELECT b.id,b.login_name,b.nick_name FROM " +
            "( SELECT admin_id FROM system_admin_role WHERE role_id=#{roleId} ) a,system_user b " +
            "WHERE b.id <> a.admin_id AND b.deleted=0")
    List<UserDO> queryNoRoleAdmin(@Param("roleId") int roleId);

//    int delRole(@Param("roleId") List<Integer> roleId);
//
//    List<UserDO> queryAdminByStatus(@Param("status") Integer status);
//
//    List<RoleResources> queryResourcesByRoleId(@Param("roleId") Integer roleId);
//
//    int insertRoleResources(@Param("addResources") List<Integer> addResources,@Param("roleId") Integer roleId);
//
//    int rmRoleResources(@Param("rmResources") List<Integer> rmResources,@Param("roleId") Integer roleId);
//
//    int delRoleResources(@Param("roleId") List<Integer> roleId);
//
//    int insertRole(@Param("roleName") String roleName);
//
//    int updateRole(@Param("roleId") Integer roleId,@Param("roleName") String roleName);
//
//    void insertRoleResource(@Param("roleId")  Integer roleId, @Param("resourcesId") Integer[] resourcesId);

    /**
     * 删除与该资源相关的角色资源权限记录
     * @param ids
     * @return int
     **/
//    int delRoleResourcesByRes(@Param("ids") Integer[] ids);
//
//    int delAdminRoleByAdmin(@Param("ids") String[] ids);
//
//    void delAdminRoleByRole(@Param("roleId") List<Integer> roleId);
}